Streaming media is multimedia, such as video and audio content, which is received by and presented to an end-user while being delivered by a streaming provider. With streaming media, a client media player can start playing media content before the entire file has been transmitted from a server, e.g., over a telecommunications network. For example, a user may visit a media streaming website using a web browser running on a personal computing device. The user may play multimedia content, including video and audio portions, in a media player from the media streaming website. The streaming provider may transmit the audio and video portions of the content to the personal computing device over a network, such as the Internet, which may be played back in the media player.
Adaptive bitrate streaming is a technique used in streaming multimedia over computer networks. Most adaptive streaming technologies are based on Hypertext Transfer Protocol (HTTP) and are designed to work efficiently over large distributed HTTP networks such as the Internet. In general, a web browser or media player detects the user's bandwidth in real time and adjusts the quality of a media stream accordingly. The web server or media server providing the media stream uses an encoder to encode a single source file at multiple bitrates. The player client switches between streaming the different encodings depending on available resources. Each of the different bitrate streams may be segmented into small multi-second chunks. The segment size can vary depending on the particular implementation, but they are typically between two (2) and ten (10) seconds. When starting to stream the media data, the client typically requests the chunks from the lowest bitrate stream (i.e., the lowest quality). If the client finds that the current bandwidth can support a higher bitrate, then the client usually request the next higher bitrate chunks. However, when multiple processes (e.g., in the same or different application) are using the network together, it may be difficult to determine how much bandwidth is actually available for streaming the media file.